//
//  NSString+Regex.swift
//  正则表达式
//
//  Created by 余丽丽 on 15/10/26.
//  Copyright © 2015年 余丽丽. All rights reserved.

import Foundation

extension String{

    ///  匹配第一个满足条件的
    ///
    ///  - parameter pattern:  正则表达式
    ///  - parameter options:  匹配方案
    ///  - parameter regexNum: 返回的匹配元素的个数
    ///
    ///  - returns: 返回匹配结果元素的数组
    func getFirstRegex(pattern:String,options:NSRegularExpressionOptions,regexNum:Int) -> [String]{
        //匹配规则
        let regex = try! NSRegularExpression(pattern: pattern, options: options)
    
        //匹配方案
        //匹配第一个满足条件的
        
        if let result = regex.firstMatchInString(self, options:NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count)){
            var array = [String]()
            for i in 1...regexNum {
                let r = result.rangeAtIndex(i)
                let str = (self as NSString).substringWithRange(r)
                array.append(str)
            }
                return array
        }
        print(self)
        return ["nothing","未知来源"]
        
//        //匹配所有满足条件的
//        print("matchesInString---->")
//        let result1 = regex.matchesInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count))
//        print(result1)
//        
//        //返回匹配结果的个数
//        print("numberOfMatchesInString---->")
//        let result2 = regex.numberOfMatchesInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count))
//        print(result2)
//        
//        //返回第一个匹配结果的range
//        print("rangeOfFirstMatchInString---->")
//        let result3 = regex.rangeOfFirstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count))
//        print(result3)
        
        
    }

}
